Usando os operadores -> e :: para classes

Publicado por Rodrigo Caldeira de Paula Lima em 27/03/2003

[ Hits: 4.503 ]

 


Usando os operadores -> e :: para classes



Uma dúvida que muitos tem sobre classes é como usar os operadores :: e -> e qual a diferença entre elas.

O operador -> é usado para acessar as funções e propriedades de classes que já foram instanciadas, por exemplo:
class $foo {
  function bar() {
    echo "Função bar()";
  }
}

$classe = new $foo;
$classe -> bar();
primeiro, instanciamos a classe $foo na variável $classe e com o operador -> acessamos a função bar().

Mas nós poderíamos acessar a função bar() da classe $foo sem instanciá-la, assim:
class $foo {
  function bar() {
    echo "Função bar()";
  }
}

$foo::bar();
isso faz a mesma coisa que o primeiro código, porém sem a necessidade de instanciar a classe $foo.

As vezes isso é útil para classes que não necessitam realmente de instancialização, como as classes do PHP-GTK.

[]'s

Outras dicas deste autor

PHP na linha de comando

Leitura recomendada

PHP - Erro ao imprimir HTML ou JavaScript com ou sem variável

PHP - Checando sintaxe

Manipulando checkbox em PHP

Aviso de erro em arquivo de configuração do PHP

PHP 7.2 no Fedora 27

  

Comentários
[1] Comentário enviado por GrupoFimdeprova em 13/08/2004 - 08:41h

Tem um Grave Erro de sintaxe nesta Dica.

o caractere '$' serve para iniciar variáveis, e não o Nome da Classe.

Não funcionar se alguém tentar

[2] Comentário enviado por jitto em 06/10/2004 - 08:53h

Para que serve o instanciamento?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts